
<!DOCTYPE HTML>
<html lang="zh-hans" >
    <head>
        <meta charset="UTF-8">
        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
        <title>被解放的姜戈06 假作真时 · Python-Tutorial</title>
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="description" content="">
        <meta name="generator" content="GitBook 3.2.3">
        
        
        
    
    <link rel="stylesheet" href="gitbook/style.css">

    
            
                
                <link rel="stylesheet" href="gitbook/gitbook-plugin-toggle-chapters/toggle.css">
                
            
                
                <link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
                
            
                
                <link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
                
            
                
                <link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
                
            
                
                <link rel="stylesheet" href="gitbook/gitbook-plugin-theme-comscore/test.css">
                
            
        

    

    
        
    
        
    
        
    
        
    
        
    
        
    

        
    
    
    <meta name="HandheldFriendly" content="true"/>
    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
    <link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">

    
    <link rel="next" href="被解放的姜戈06 假作真时.html" />
    
    
    <link rel="prev" href="被解放的姜戈05 黑面管家.html" />
    

    </head>
    <body>
        
<div class="book">
    <div class="book-summary">
        
            
<div id="book-search-input" role="search">
    <input type="text" placeholder="输入并搜索" />
</div>

            
                <nav role="navigation">
                


<ul class="summary">
    
    

    

    
        
        <li class="header">Python基础</li>
        
        
    
        <li class="chapter " data-level="1.1" data-path="./">
            
                <a href="./">
            
                    
                    Introduction
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2" data-path="基础.html">
            
                <a href="基础.html">
            
                    
                    Python基础
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.2.1" data-path="01.html">
            
                <a href="01.html">
            
                    
                    基础01 Hello World!
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.2.1.1" data-path="01.html">
            
                <a href="01.html#python命令行">
            
                    
                    Python命令行
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.1.2" data-path="01.html">
            
                <a href="01.html#写一段小程序">
            
                    
                    写一段小程序
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.1.3" data-path="01.html">
            
                <a href="01.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.2.2" data-path="02.html">
            
                <a href="02.html">
            
                    
                    基础02 基本数据类型
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.2.2.1" data-path="02.html">
            
                <a href="02.html#变量不需要声明">
            
                    
                    变量不需要声明
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.2.2" data-path="02.html">
            
                <a href="02.html#回收变量名">
            
                    
                    回收变量名
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.2.3" data-path="02.html">
            
                <a href="02.html#基本数据类型">
            
                    
                    基本数据类型
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.2.4" data-path="02.html">
            
                <a href="02.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.2.3" data-path="03.html">
            
                <a href="03.html">
            
                    
                    基础03 序列
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.2.3.1" data-path="03.html">
            
                <a href="03.html#sequence-序列">
            
                    
                    sequence 序列
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.3.2" data-path="03.html">
            
                <a href="03.html#元素的引用">
            
                    
                    元素的引用
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.3.3" data-path="03.html">
            
                <a href="03.html#其他引用方式">
            
                    
                    其他引用方式
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.3.4" data-path="03.html">
            
                <a href="03.html#字符串是元组">
            
                    
                    字符串是元组
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.3.5" data-path="03.html">
            
                <a href="03.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.2.4" data-path="04.html">
            
                <a href="04.html">
            
                    
                    基础04 运算
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.2.4.1" data-path="04.html">
            
                <a href="04.html#数学运算">
            
                    
                    数学运算
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.4.2" data-path="04.html">
            
                <a href="04.html#分支">
            
                    
                    分支
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.4.3" data-path="04.html">
            
                <a href="04.html#逻辑运算">
            
                    
                    逻辑运算
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.4.4" data-path="04.html">
            
                <a href="04.html#pythonic-数据交换">
            
                    
                    Pythonic 数据交换
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.4.5" data-path="04.html">
            
                <a href="04.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.2.5" data-path="05.html">
            
                <a href="05.html">
            
                    
                    基础05 缩进和选择
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.2.5.1" data-path="05.html">
            
                <a href="05.html#缩进">
            
                    
                    缩进
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.5.2" data-path="05.html">
            
                <a href="05.html#if语句">
            
                    
                    if语句
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.5.3" data-path="05.html">
            
                <a href="05.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.2.6" data-path="06.html">
            
                <a href="06.html">
            
                    
                    基础06 循环
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.2.6.1" data-path="06.html">
            
                <a href="06.html#for循环">
            
                    
                    for循环
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.6.2" data-path="06.html">
            
                <a href="06.html#while循环">
            
                    
                    while循环
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.6.3" data-path="06.html">
            
                <a href="06.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.2.7" data-path="07.html">
            
                <a href="07.html">
            
                    
                    基础07 函数
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.2.7.1" data-path="07.html">
            
                <a href="07.html#函数的定义">
            
                    
                    函数的定义
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.7.2" data-path="07.html">
            
                <a href="07.html#函数调用和参数传递">
            
                    
                    函数调用和参数传递
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.7.3" data-path="07.html">
            
                <a href="07.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.2.8" data-path="08.html">
            
                <a href="08.html">
            
                    
                    基础08 面向对象的基本概念
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.2.8.1" data-path="08.html">
            
                <a href="08.html#相近对象，归为类">
            
                    
                    相近对象，归为类
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.8.2" data-path="08.html">
            
                <a href="08.html#动作">
            
                    
                    动作
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.8.3" data-path="08.html">
            
                <a href="08.html#子类">
            
                    
                    子类
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.8.4" data-path="08.html">
            
                <a href="08.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.2.9" data-path="09.html">
            
                <a href="09.html">
            
                    
                    基础09 面向对象的进一步拓展
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.2.9.1" data-path="09.html">
            
                <a href="09.html#调用类的其它信息">
            
                    
                    调用类的其它信息
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.9.2" data-path="09.html">
            
                <a href="09.html#init方法">
            
                    
                    __init__()方法
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.9.3" data-path="09.html">
            
                <a href="09.html#对象的性质">
            
                    
                    对象的性质
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.2.10" data-path="10.html">
            
                <a href="10.html">
            
                    
                    基础10 反过头来看看
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.2.10.1" data-path="10.html">
            
                <a href="10.html#list是一个类">
            
                    
                    list是一个类
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.10.2" data-path="10.html">
            
                <a href="10.html#运算符是特殊方法">
            
                    
                    运算符是特殊方法
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.10.3" data-path="10.html">
            
                <a href="10.html#下一步">
            
                    
                    下一步
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.10.4" data-path="10.html">
            
                <a href="10.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    

            </ul>
            
        </li>
    

    
        
        <li class="header">Python进阶</li>
        
        
    
        <li class="chapter " data-level="2.1" data-path="进阶.html">
            
                <a href="进阶.html">
            
                    
                    进阶
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="2.1.1" data-path="intermediate01.html">
            
                <a href="intermediate01.html">
            
                    
                    进阶01 词典
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="2.1.1.1" data-path="intermediate01.html">
            
                <a href="intermediate01.html#基本概念">
            
                    
                    基本概念
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.1.2" data-path="intermediate01.html">
            
                <a href="intermediate01.html#词典元素的循环调用">
            
                    
                    词典元素的循环调用
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.1.3" data-path="intermediate01.html">
            
                <a href="intermediate01.html#词典的常用方法">
            
                    
                    词典的常用方法
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.1.4" data-path="intermediate01.html">
            
                <a href="intermediate01.html#词典排序">
            
                    
                    词典排序
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.1.5" data-path="intermediate01.html">
            
                <a href="intermediate01.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="2.1.2" data-path="intermediate02.html">
            
                <a href="intermediate02.html">
            
                    
                    进阶02 文本文件的输入输出
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="2.1.2.1" data-path="intermediate02.html">
            
                <a href="intermediate02.html#创建文件对象">
            
                    
                    创建文件对象
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.2.2" data-path="intermediate02.html">
            
                <a href="intermediate02.html#文件对象的方法">
            
                    
                    文件对象的方法
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.2.3" data-path="intermediate02.html">
            
                <a href="intermediate02.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="2.1.3" data-path="intermediate03.html">
            
                <a href="intermediate03.html">
            
                    
                    进阶03 模块
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="2.1.3.1" data-path="intermediate03.html">
            
                <a href="intermediate03.html#引入模块">
            
                    
                    引入模块
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.3.2" data-path="intermediate03.html">
            
                <a href="intermediate03.html#搜索路径">
            
                    
                    搜索路径
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.3.3" data-path="intermediate03.html">
            
                <a href="intermediate03.html#模块包">
            
                    
                    模块包
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.3.4" data-path="intermediate03.html">
            
                <a href="intermediate03.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="2.1.4" data-path="intermediate04.html">
            
                <a href="intermediate04.html">
            
                    
                    进阶04 函数的参数对应
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="2.1.4.1" data-path="intermediate04.html">
            
                <a href="intermediate04.html#关键字传递">
            
                    
                    关键字传递
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.4.2" data-path="intermediate04.html">
            
                <a href="intermediate04.html#参数默认值">
            
                    
                    参数默认值
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.4.3" data-path="intermediate04.html">
            
                <a href="intermediate04.html#包裹传递">
            
                    
                    包裹传递
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.4.4" data-path="intermediate04.html">
            
                <a href="intermediate04.html#解包裹">
            
                    
                    解包裹
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.4.5" data-path="intermediate04.html">
            
                <a href="intermediate04.html#混合">
            
                    
                    混合
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.4.6" data-path="intermediate04.html">
            
                <a href="intermediate04.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="2.1.5" data-path="intermediate05.html">
            
                <a href="intermediate05.html">
            
                    
                    进阶05 循环设计
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="2.1.5.1" data-path="intermediate05.html">
            
                <a href="intermediate05.html#range">
            
                    
                    range()
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.5.2" data-path="intermediate05.html">
            
                <a href="intermediate05.html#enumerate">
            
                    
                    enumerate()
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.5.3" data-path="intermediate05.html">
            
                <a href="intermediate05.html#zip">
            
                    
                    zip()
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.5.4" data-path="intermediate05.html">
            
                <a href="intermediate05.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="2.1.6" data-path="intermediate06.html">
            
                <a href="intermediate06.html">
            
                    
                    进阶06 循环对象
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="2.1.6.1" data-path="intermediate06.html">
            
                <a href="intermediate06.html#什么是循环对象">
            
                    
                    什么是循环对象
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.6.2" data-path="intermediate06.html">
            
                <a href="intermediate06.html#迭代器">
            
                    
                    迭代器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.6.3" data-path="intermediate06.html">
            
                <a href="intermediate06.html#生成器">
            
                    
                    生成器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.6.4" data-path="intermediate06.html">
            
                <a href="intermediate06.html#表推导">
            
                    
                    表推导
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.6.5" data-path="intermediate06.html">
            
                <a href="intermediate06.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="2.1.7" data-path="intermediate07.html">
            
                <a href="intermediate07.html#">
            
                    
                    进阶07 函数对象
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="2.1.7.1" data-path="intermediate07.html">
            
                <a href="intermediate07.html#lambda函数">
            
                    
                    lambda函数
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.7.2" data-path="intermediate07.html">
            
                <a href="intermediate07.html#函数作为参数传递">
            
                    
                    函数作为参数传递
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.7.3" data-path="intermediate07.html">
            
                <a href="intermediate07.html#map函数">
            
                    
                    map()函数
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.7.4" data-path="intermediate07.html">
            
                <a href="intermediate07.html#filter函数">
            
                    
                    filter()函数
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.7.5" data-path="intermediate07.html">
            
                <a href="intermediate07.html#reduce函数">
            
                    
                    reduce()函数
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.7.6" data-path="intermediate07.html">
            
                <a href="intermediate07.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="2.1.8" data-path="intermediate08.html">
            
                <a href="intermediate08.html#">
            
                    
                    进阶08 异常处理
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="2.1.8.1" data-path="intermediate08.html">
            
                <a href="intermediate08.html#异常处理">
            
                    
                    异常处理
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.8.2" data-path="intermediate08.html">
            
                <a href="intermediate08.html#抛出异常">
            
                    
                    抛出异常
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.8.3" data-path="intermediate08.html">
            
                <a href="intermediate08.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="2.1.9" data-path="intermediate09.html">
            
                <a href="intermediate09.html#">
            
                    
                    进阶09 动态类型
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="2.1.9.1" data-path="intermediate09.html">
            
                <a href="intermediate09.html#动态类型">
            
                    
                    动态类型
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.9.2" data-path="intermediate09.html">
            
                <a href="intermediate09.html#从动态类型看函数的参数传递">
            
                    
                    从动态类型看函数的参数传递
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.9.3" data-path="intermediate09.html">
            
                <a href="intermediate09.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="2.2" data-path="快速教程总结.html">
            
                <a href="快速教程总结.html">
            
                    
                    快速教程总结
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.3" data-path="小题目 针对快速教程.html">
            
                <a href="小题目 针对快速教程.html">
            
                    
                    小题目 针对快速教程
            
                </a>
            

            
        </li>
    

    
        
        <li class="header">Python深入</li>
        
        
    
        <li class="chapter " data-level="3.1" data-path="深入.html">
            
                <a href="深入.html">
            
                    
                    Python深入
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="3.1.1" data-path="深入01 特殊方法与多范式.html">
            
                <a href="深入01 特殊方法与多范式.html#python深入01-特殊方法与多范式">
            
                    
                    深入01 特殊方法与多范式
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="3.1.1.1" data-path="深入01 特殊方法与多范式.html">
            
                <a href="深入01 特殊方法与多范式.html#运算符">
            
                    
                    运算符
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.1.2" data-path="深入01 特殊方法与多范式.html">
            
                <a href="深入01 特殊方法与多范式.html#内置函数">
            
                    
                    内置函数
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.1.3" data-path="深入01 特殊方法与多范式.html">
            
                <a href="深入01 特殊方法与多范式.html#表list元素引用">
            
                    
                    表(list)元素引用
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.1.4" data-path="深入01 特殊方法与多范式.html">
            
                <a href="深入01 特殊方法与多范式.html#函数">
            
                    
                    函数
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.1.5" data-path="深入01 特殊方法与多范式.html">
            
                <a href="深入01 特殊方法与多范式.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="3.1.2" data-path="深入02 上下文管理器.html">
            
                <a href="深入02 上下文管理器.html">
            
                    
                    深入02 上下文管理器
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="3.1.2.1" data-path="深入02 上下文管理器.html">
            
                <a href="深入02 上下文管理器.html#关闭文件">
            
                    
                    关闭文件
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.2.2" data-path="深入02 上下文管理器.html">
            
                <a href="深入02 上下文管理器.html#自定义">
            
                    
                    自定义
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.2.3" data-path="深入02 上下文管理器.html">
            
                <a href="深入02 上下文管理器.html#总结：">
            
                    
                    总结：
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="3.1.3" data-path="深入03 对象的属性.html">
            
                <a href="深入03 对象的属性.html">
            
                    
                    深入03 对象的属性
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="3.1.3.1" data-path="深入03 对象的属性.html">
            
                <a href="深入03 对象的属性.html#属性的dict系统">
            
                    
                    属性的__dict__系统
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.3.2" data-path="深入03 对象的属性.html">
            
                <a href="深入03 对象的属性.html#特性">
            
                    
                    特性
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.3.3" data-path="深入03 对象的属性.html">
            
                <a href="深入03 对象的属性.html#使用特殊方法getattr">
            
                    
                    使用特殊方法__getattr__
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.3.4" data-path="深入03 对象的属性.html">
            
                <a href="深入03 对象的属性.html#即时生成属性的其他方式">
            
                    
                    即时生成属性的其他方式
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.3.5" data-path="深入03 对象的属性.html">
            
                <a href="深入03 对象的属性.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="3.1.4" data-path="深入04 闭包.html">
            
                <a href="深入04 闭包.html">
            
                    
                    深入04 闭包
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="3.1.4.1" data-path="深入04 闭包.html">
            
                <a href="深入04 闭包.html#函数对象的作用域">
            
                    
                    函数对象的作用域
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.4.2" data-path="深入04 闭包.html">
            
                <a href="深入04 闭包.html#闭包">
            
                    
                    闭包
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.4.3" data-path="深入04 闭包.html">
            
                <a href="深入04 闭包.html#闭包与并行运算">
            
                    
                    闭包与并行运算
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="3.1.5" data-path="深入05 装饰器.html">
            
                <a href="深入05 装饰器.html">
            
                    
                    深入05 装饰器
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="3.1.5.1" data-path="深入05 装饰器.html">
            
                <a href="深入05 装饰器.html#装饰函数和方法">
            
                    
                    装饰函数和方法
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.5.2" data-path="深入05 装饰器.html">
            
                <a href="深入05 装饰器.html#含参的装饰器">
            
                    
                    含参的装饰器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.5.3" data-path="深入05 装饰器.html">
            
                <a href="深入05 装饰器.html#装饰类">
            
                    
                    装饰类
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.5.4" data-path="深入05 装饰器.html">
            
                <a href="深入05 装饰器.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="3.1.6" data-path="深入06 内存管理.html">
            
                <a href="深入06 内存管理.html">
            
                    
                    深入06 内存管理
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="3.1.6.1" data-path="深入06 内存管理.html">
            
                <a href="深入06 内存管理.html#对象的内存使用">
            
                    
                    对象的内存使用
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.6.2" data-path="深入06 内存管理.html">
            
                <a href="深入06 内存管理.html#对象引用对象">
            
                    
                    对象引用对象
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.6.3" data-path="深入06 内存管理.html">
            
                <a href="深入06 内存管理.html#引用减少">
            
                    
                    引用减少
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.6.4" data-path="深入06 内存管理.html">
            
                <a href="深入06 内存管理.html#垃圾回收">
            
                    
                    垃圾回收
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.6.5" data-path="深入06 内存管理.html">
            
                <a href="深入06 内存管理.html#分代回收">
            
                    
                    分代回收
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.6.6" data-path="深入06 内存管理.html">
            
                <a href="深入06 内存管理.html#孤立的引用环">
            
                    
                    孤立的引用环
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.6.7" data-path="深入06 内存管理.html">
            
                <a href="深入06 内存管理.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    

            </ul>
            
        </li>
    

    
        
        <li class="header">Python补充</li>
        
        
    
        <li class="chapter " data-level="4.1" data-path="补充.html">
            
                <a href="补充.html">
            
                    
                    Python补充
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="4.1.1" data-path="补充01 序列的方法.html">
            
                <a href="补充01 序列的方法.html">
            
                    
                    补充01 序列的方法
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.2" data-path="补充02 小技巧.html">
            
                <a href="补充02 小技巧.html">
            
                    
                    补充02 小技巧
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="4.1.2.1" data-path="补充02 小技巧.html">
            
                <a href="补充02 小技巧.html#import模块">
            
                    
                    import模块
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.2.2" data-path="补充02 小技巧.html">
            
                <a href="补充02 小技巧.html#查询">
            
                    
                    查询
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.2.3" data-path="补充02 小技巧.html">
            
                <a href="补充02 小技巧.html#使用中文以及其它非ascii编码">
            
                    
                    使用中文(以及其它非ASCII编码)
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.2.4" data-path="补充02 小技巧.html">
            
                <a href="补充02 小技巧.html#表示2进制，8进制和16进制数字">
            
                    
                    表示2进制，8进制和16进制数字
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.2.5" data-path="补充02 小技巧.html">
            
                <a href="补充02 小技巧.html#注释">
            
                    
                    注释
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.2.6" data-path="补充02 小技巧.html">
            
                <a href="补充02 小技巧.html#搜索路径">
            
                    
                    搜索路径
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.2.7" data-path="补充02 小技巧.html">
            
                <a href="补充02 小技巧.html#脚本与命令行结合">
            
                    
                    脚本与命令行结合
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.2.8" data-path="补充02 小技巧.html">
            
                <a href="补充02 小技巧.html#安装非标准包">
            
                    
                    安装非标准包
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="4.1.3" data-path="补充03 内置函数清单.html">
            
                <a href="补充03 内置函数清单.html">
            
                    
                    补充03 内置函数清单
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="4.1.3.1" data-path="补充03 内置函数清单.html">
            
                <a href="补充03 内置函数清单.html#数学运算">
            
                    
                    数学运算
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.3.2" data-path="补充03 内置函数清单.html">
            
                <a href="补充03 内置函数清单.html#类型转换">
            
                    
                    类型转换
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.3.3" data-path="补充03 内置函数清单.html">
            
                <a href="补充03 内置函数清单.html#类，对象，属性">
            
                    
                    序列操作
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.3.4" data-path="补充03 内置函数清单.html">
            
                <a href="补充03 内置函数清单.html#编译，执行">
            
                    
                    编译，执行
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.3.5" data-path="补充03 内置函数清单.html">
            
                <a href="补充03 内置函数清单.html#其他">
            
                    
                    其他
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="4.1.4" data-path="补充04 简史.html">
            
                <a href="补充04 简史.html">
            
                    
                    补充04 简史
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="4.1.4.1" data-path="补充04 简史.html">
            
                <a href="补充04 简史.html#python的起源">
            
                    
                    Python的起源
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.4.2" data-path="补充04 简史.html">
            
                <a href="补充04 简史.html#python的诞生">
            
                    
                    Python的诞生
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.4.3" data-path="补充04 简史.html">
            
                <a href="补充04 简史.html#python启示录">
            
                    
                    Python启示录
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="4.1.5" data-path="补充05 字符串格式化.html">
            
                <a href="补充05 字符串格式化.html">
            
                    
                    补充05 字符串格式化 (%操作符)
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="4.1.5.1" data-path="补充05 字符串格式化.html">
            
                <a href="补充05 字符串格式化.html#模板">
            
                    
                    模板
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.5.2" data-path="补充05 字符串格式化.html">
            
                <a href="补充05 字符串格式化.html#格式符">
            
                    
                    格式符
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.5.3" data-path="补充05 字符串格式化.html">
            
                <a href="补充05 字符串格式化.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="4.1.6" data-path="补充06 python之道.html">
            
                <a href="补充06 python之道.html">
            
                    
                    补充06 Python之道
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="4.1.6.1" data-path="补充06 python之道.html">
            
                <a href="补充06 python之道.html#历史">
            
                    
                    历史
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    

            </ul>
            
        </li>
    

    
        
        <li class="header">Python标准库</li>
        
        
    
        <li class="chapter " data-level="5.1" data-path="标准库.html">
            
                <a href="标准库.html">
            
                    
                    Python标准库
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="5.1.1" data-path="标准库——走马观花.html">
            
                <a href="标准库——走马观花.html">
            
                    
                    标准库——走马观花
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="5.1.1.1" data-path="标准库——走马观花.html">
            
                <a href="标准库——走马观花.html#第一类：python增强">
            
                    
                    第一类：Python增强
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.1.2" data-path="标准库——走马观花.html">
            
                <a href="标准库——走马观花.html#第二类：系统互动">
            
                    
                    第二类：系统互动
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.1.3" data-path="标准库——走马观花.html">
            
                <a href="标准库——走马观花.html#第三类：网络">
            
                    
                    第三类：网络
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="5.1.2" data-path="标准库的学习准备.html">
            
                <a href="标准库的学习准备.html">
            
                    
                    标准库的学习准备
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="5.1.2.1" data-path="标准库的学习准备.html">
            
                <a href="标准库的学习准备.html#硬件原理">
            
                    
                    硬件原理
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.2.2" data-path="标准库的学习准备.html">
            
                <a href="标准库的学习准备.html#操作系统">
            
                    
                    操作系统
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.2.3" data-path="标准库的学习准备.html">
            
                <a href="标准库的学习准备.html#网络">
            
                    
                    网络
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.2.4" data-path="标准库的学习准备.html">
            
                <a href="标准库的学习准备.html#算法与数据结构">
            
                    
                    算法与数据结构
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.2.5" data-path="标准库的学习准备.html">
            
                <a href="标准库的学习准备.html#数据库">
            
                    
                    数据库
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.2.6" data-path="标准库的学习准备.html">
            
                <a href="标准库的学习准备.html#加密和文本编码">
            
                    
                    加密和文本编码
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.2.7" data-path="标准库的学习准备.html">
            
                <a href="标准库的学习准备.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="5.1.3" data-path="STL01.html">
            
                <a href="STL01.html">
            
                    
                    标准库01 正则表达式 (re包)
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="5.1.3.1" data-path="STL01.html">
            
                <a href="STL01.html#语法">
            
                    
                    语法
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.3.2" data-path="STL01.html">
            
                <a href="STL01.html#正则表达式的函数">
            
                    
                    正则表达式的函数
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.3.3" data-path="STL01.html">
            
                <a href="STL01.html#写一个正则表达式">
            
                    
                    写一个正则表达式
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.3.4" data-path="STL01.html">
            
                <a href="STL01.html#对比research和rematch">
            
                    
                    对比re.search和re.match
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.3.5" data-path="STL01.html">
            
                <a href="STL01.html#练习">
            
                    
                    练习
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.3.6" data-path="STL01.html">
            
                <a href="STL01.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="5.1.4" data-path="STL02.html">
            
                <a href="STL02.html">
            
                    
                    标准库02 时间与日期 (time, datetime包)
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="5.1.4.1" data-path="STL02.html">
            
                <a href="STL02.html#time包">
            
                    
                    time包
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.4.2" data-path="STL02.html">
            
                <a href="STL02.html#datetime包">
            
                    
                    datetime包
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.4.3" data-path="STL02.html">
            
                <a href="STL02.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="5.1.5" data-path="STL03.html">
            
                <a href="STL03.html">
            
                    
                    标准库03 路径与文件 (os.path包, glob包)
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="5.1.5.1" data-path="STL03.html">
            
                <a href="STL03.html#ospath包">
            
                    
                    os.path包
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.5.2" data-path="STL03.html">
            
                <a href="STL03.html#glob包">
            
                    
                    glob包
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.5.3" data-path="STL03.html">
            
                <a href="STL03.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="5.1.6" data-path="STL04.html">
            
                <a href="STL04.html">
            
                    
                    标准库04 文件管理 (部分os包，shutil包)
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="5.1.6.1" data-path="STL04.html">
            
                <a href="STL04.html#os包">
            
                    
                    os包
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="5.1.7" data-path="STL05.html">
            
                <a href="STL05.html">
            
                    
                    标准库05 存储对象 (pickle包，cPickle包)
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="5.1.7.1" data-path="STL05.html">
            
                <a href="STL05.html#pickle包">
            
                    
                    pickle包
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.7.2" data-path="STL05.html">
            
                <a href="STL05.html#cpickle包">
            
                    
                    cPickle包
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.7.3" data-path="STL05.html">
            
                <a href="STL05.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="5.1.8" data-path="STL06.html">
            
                <a href="STL06.html">
            
                    
                    标准库06 子进程 (subprocess包)
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="5.1.8.1" data-path="STL06.html">
            
                <a href="STL06.html#subprocess以及常用的封装函数">
            
                    
                    subprocess以及常用的封装函数
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.8.2" data-path="STL06.html">
            
                <a href="STL06.html#popen(">
            
                    
                    Popen()
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.8.3" data-path="STL06.html">
            
                <a href="STL06.html#子进程的文本流控制">
            
                    
                    子进程的文本流控制
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.8.4" data-path="STL06.html">
            
                <a href="STL06.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="5.1.9" data-path="STL07.html">
            
                <a href="STL07.html">
            
                    
                    标准库07 信号 (signal包，部分os包)
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="5.1.9.1" data-path="STL07.html">
            
                <a href="STL07.html#定义信号名">
            
                    
                    定义信号名
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.9.2" data-path="STL07.html">
            
                <a href="STL07.html#预设信号处理函数">
            
                    
                    预设信号处理函数
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.9.3" data-path="STL07.html">
            
                <a href="STL07.html#定时发出sigalrm信号">
            
                    
                    定时发出SIGALRM信号
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.9.4" data-path="STL07.html">
            
                <a href="STL07.html#发送信号">
            
                    
                    发送信号
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.9.5" data-path="STL07.html">
            
                <a href="STL07.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="5.1.10" data-path="STL08.html">
            
                <a href="STL08.html">
            
                    
                    标准库08 多线程与同步 (threading包)
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="5.1.10.1" data-path="STL08.html">
            
                <a href="STL08.html#多线程售票以及同步">
            
                    
                    多线程售票以及同步
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.10.2" data-path="STL08.html">
            
                <a href="STL08.html#oop创建线程">
            
                    
                    OOP创建线程
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.10.3" data-path="STL08.html">
            
                <a href="STL08.html#其他">
            
                    
                    其他
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.10.4" data-path="STL08.html">
            
                <a href="STL08.html#练习">
            
                    
                    练习
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.10.5" data-path="STL08.html">
            
                <a href="STL08.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="5.1.11" data-path="STL09.html">
            
                <a href="STL09.html">
            
                    
                    标准库09 当前进程信息 (部分os包)
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="5.1.11.1" data-path="STL09.html">
            
                <a href="STL09.html#进程信息">
            
                    
                    进程信息
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.11.2" data-path="STL09.html">
            
                <a href="STL09.html#saved-uid和saved-gid">
            
                    
                    saved UID和saved GID
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.11.3" data-path="STL09.html">
            
                <a href="STL09.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="5.1.12" data-path="STL10.html">
            
                <a href="STL10.html">
            
                    
                    标准库10 多进程初步 (multiprocessing包)
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="5.1.12.1" data-path="STL10.html">
            
                <a href="STL10.html#threading和multiprocessing">
            
                    
                    threading和multiprocessing
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.12.2" data-path="STL10.html">
            
                <a href="STL10.html#Pipe和Queue">
            
                    
                    Pipe和Queue
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.12.3" data-path="STL10.html">
            
                <a href="STL10.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="5.1.13" data-path="STL11.html">
            
                <a href="STL11.html">
            
                    
                    标准库11 多进程探索 (multiprocessing包)
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="5.1.13.1" data-path="STL11.html">
            
                <a href="STL11.html#进程池">
            
                    
                    进程池
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.13.2" data-path="STL11.html">
            
                <a href="STL11.html#练习">
            
                    
                    练习
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.13.3" data-path="STL11.html">
            
                <a href="STL11.html#共享资源">
            
                    
                    共享资源
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="5.1.13.3.1" data-path="STL11.html">
            
                <a href="STL11.html#共享内存">
            
                    
                    共享内存
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.13.3.2" data-path="STL11.html">
            
                <a href="STL11.html#manager">
            
                    
                    Manager
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="5.1.13.4" data-path="STL11.html">
            
                <a href="STL11.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="5.1.14" data-path="STL12.html">
            
                <a href="STL12.html">
            
                    
                    标准库12 数学与随机数 (math包，random包)
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="5.1.14.1" data-path="STL12.html">
            
                <a href="STL12.html#math包">
            
                    
                    math包
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.14.2" data-path="STL12.html">
            
                <a href="STL12.html#random包">
            
                    
                    random包
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.14.3" data-path="STL12.html">
            
                <a href="STL12.html#练习">
            
                    
                    练习
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.14.4" data-path="STL12.html">
            
                <a href="STL12.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="5.1.15" data-path="STL13 循环器 itertools.html">
            
                <a href="STL13 循环器 itertools.html">
            
                    
                    标准库13 循环器 (itertools)
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="5.1.15.1" data-path="STL13 循环器 itertools.html">
            
                <a href="STL13 循环器 itertools.html#无穷循环器">
            
                    
                    无穷循环器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.15.2" data-path="STL13 循环器 itertools.html">
            
                <a href="STL13 循环器 itertools.html#函数式工具">
            
                    
                    函数式工具
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.15.3" data-path="STL13 循环器 itertools.html">
            
                <a href="STL13 循环器 itertools.html#组合工具">
            
                    
                    组合工具
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.15.4" data-path="STL13 循环器 itertools.html">
            
                <a href="STL13 循环器 itertools.html#groupby">
            
                    
                    groupby()
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.15.5" data-path="STL13 循环器 itertools.html">
            
                <a href="STL13 循环器 itertools.html#其它工具">
            
                    
                    其它工具
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.15.6" data-path="STL13 循环器 itertools.html">
            
                <a href="STL13 循环器 itertools.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="5.1.16" data-path="STL14 数据库 sqlite3.html">
            
                <a href="STL14 数据库 sqlite3.html">
            
                    
                    标准库14 数据库 (sqlite3)
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="5.1.16.1" data-path="STL14 数据库 sqlite3.html">
            
                <a href="STL14 数据库 sqlite3.html#创建数据库">
            
                    
                    创建数据库
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.16.2" data-path="STL14 数据库 sqlite3.html">
            
                <a href="STL14 数据库 sqlite3.html#插入数据">
            
                    
                    插入数据
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.16.3" data-path="STL14 数据库 sqlite3.html">
            
                <a href="STL14 数据库 sqlite3.html#查询">
            
                    
                    查询
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.16.4" data-path="STL14 数据库 sqlite3.html">
            
                <a href="STL14 数据库 sqlite3.html#更新与删除">
            
                    
                    更新与删除
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.16.5" data-path="STL14 数据库 sqlite3.html">
            
                <a href="STL14 数据库 sqlite3.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    

            </ul>
            
        </li>
    

    
        
        <li class="header">Python应用</li>
        
        
    
        <li class="chapter " data-level="6.1" data-path="应用.html">
            
                <a href="应用.html">
            
                    
                    Python应用
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="6.1.1" data-path="网络01 原始服务器.html">
            
                <a href="网络01 原始服务器.html">
            
                    
                    应用01 原始服务器
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="6.1.1.1" data-path="网络01 原始服务器.html">
            
                <a href="网络01 原始服务器.html#tcpip和socket">
            
                    
                    TCP/IP和socket
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.1.2" data-path="网络01 原始服务器.html">
            
                <a href="网络01 原始服务器.html#tcp-socket">
            
                    
                    TCP socket
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.1.3" data-path="网络01 原始服务器.html">
            
                <a href="网络01 原始服务器.html#基于tcp-socket的http服务器">
            
                    
                    基于TCP socket的HTTP服务器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.1.4" data-path="网络01 原始服务器.html">
            
                <a href="网络01 原始服务器.html#深入http服务器程序">
            
                    
                    深入HTTP服务器程序
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.1.5" data-path="网络01 原始服务器.html">
            
                <a href="网络01 原始服务器.html#使用浏览器实验">
            
                    
                    使用浏览器实验
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.1.6" data-path="网络01 原始服务器.html">
            
                <a href="网络01 原始服务器.html#探索的方向">
            
                    
                    探索的方向
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="6.1.2" data-path="网络02 服务器进化.html">
            
                <a href="网络02 服务器进化.html">
            
                    
                    应用02 服务器进化
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="6.1.2.1" data-path="网络02 服务器进化.html">
            
                <a href="网络02 服务器进化.html#支持post">
            
                    
                    支持POST
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.2.2" data-path="网络02 服务器进化.html">
            
                <a href="网络02 服务器进化.html#使用socketserver">
            
                    
                    使用SocketServer
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.2.3" data-path="网络02 服务器进化.html">
            
                <a href="网络02 服务器进化.html#simplehttpserver:-使用静态文件来回应请求">
            
                    
                    SimpleHTTPServer: 使用静态文件来回应请求
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.2.4" data-path="网络02 服务器进化.html">
            
                <a href="网络02 服务器进化.html#cgihttpserver：使用静态文件或者cgi来回应请求">
            
                    
                    CGIHTTPServer：使用静态文件或者CGI来回应请求
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.2.5" data-path="网络02 服务器进化.html">
            
                <a href="网络02 服务器进化.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="6.1.3" data-path="网络03 使用pyqt制作视频播放器.html">
            
                <a href="网络03 使用pyqt制作视频播放器.html">
            
                    
                    应用03 使用PyQT制作视频播放器
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="6.1.3.1" data-path="网络03 使用pyqt制作视频播放器.html">
            
                <a href="网络03 使用pyqt制作视频播放器.html#视频播放器">
            
                    
                    视频播放器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.3.2" data-path="网络03 使用pyqt制作视频播放器.html">
            
                <a href="网络03 使用pyqt制作视频播放器.html#视图部分">
            
                    
                    视图部分
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.3.3" data-path="网络03 使用pyqt制作视频播放器.html">
            
                <a href="网络03 使用pyqt制作视频播放器.html#多线程">
            
                    
                    多线程
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.3.4" data-path="网络03 使用pyqt制作视频播放器.html">
            
                <a href="网络03 使用pyqt制作视频播放器.html#信号与槽">
            
                    
                    信号与槽
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    

            </ul>
            
        </li>
    

    
        
        <li class="header">被解放的姜戈</li>
        
        
    
        <li class="chapter " data-level="7.1" data-path="被解放的姜戈.html">
            
                <a href="被解放的姜戈.html">
            
                    
                    被解放的姜戈
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="7.1.1" data-path="被解放的姜戈01 初试天涯.html">
            
                <a href="被解放的姜戈01 初试天涯.html">
            
                    
                    被解放的姜戈01 初试天涯
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="7.1.1.1" data-path="被解放的姜戈01 初试天涯.html">
            
                <a href="被解放的姜戈01 初试天涯.html#安装django">
            
                    
                    安装Django
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.1.2" data-path="被解放的姜戈01 初试天涯.html">
            
                <a href="被解放的姜戈01 初试天涯.html#启动">
            
                    
                    启动
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.1.3" data-path="被解放的姜戈01 初试天涯.html">
            
                <a href="被解放的姜戈01 初试天涯.html#第一个网页">
            
                    
                    第一个网页
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.1.4" data-path="被解放的姜戈01 初试天涯.html">
            
                <a href="被解放的姜戈01 初试天涯.html#增加app">
            
                    
                    增加app
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.1.5" data-path="被解放的姜戈01 初试天涯.html">
            
                <a href="被解放的姜戈01 初试天涯.html#增加app页面">
            
                    
                    增加APP页面
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.1.6" data-path="被解放的姜戈01 初试天涯.html">
            
                <a href="被解放的姜戈01 初试天涯.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="7.1.2" data-path="被解放的姜戈02 庄园疑云.html">
            
                <a href="被解放的姜戈02 庄园疑云.html">
            
                    
                    被解放的姜戈02 庄园疑云
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="7.1.2.1" data-path="被解放的姜戈02 庄园疑云.html">
            
                <a href="被解放的姜戈02 庄园疑云.html#连接数据库">
            
                    
                    连接数据库
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.2.2" data-path="被解放的姜戈02 庄园疑云.html">
            
                <a href="被解放的姜戈02 庄园疑云.html#创立模型">
            
                    
                    创立模型
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.2.3" data-path="被解放的姜戈02 庄园疑云.html">
            
                <a href="被解放的姜戈02 庄园疑云.html#显示数据">
            
                    
                    显示数据
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.2.4" data-path="被解放的姜戈02 庄园疑云.html">
            
                <a href="被解放的姜戈02 庄园疑云.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="7.1.3" data-path="被解放的姜戈03 所谓伊人.html">
            
                <a href="被解放的姜戈03 所谓伊人.html">
            
                    
                    被解放的姜戈03 所谓伊人
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="7.1.3.1" data-path="被解放的姜戈03 所谓伊人.html">
            
                <a href="被解放的姜戈03 所谓伊人.html#模板初体验">
            
                    
                    模板初体验
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.3.2" data-path="被解放的姜戈03 所谓伊人.html">
            
                <a href="被解放的姜戈03 所谓伊人.html#流程">
            
                    
                    流程
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.3.3" data-path="被解放的姜戈03 所谓伊人.html">
            
                <a href="被解放的姜戈03 所谓伊人.html#循环与选择">
            
                    
                    循环与选择
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.3.4" data-path="被解放的姜戈03 所谓伊人.html">
            
                <a href="被解放的姜戈03 所谓伊人.html#模板继承">
            
                    
                    模板继承
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.3.5" data-path="被解放的姜戈03 所谓伊人.html">
            
                <a href="被解放的姜戈03 所谓伊人.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="7.1.4" data-path="被解放的姜戈04 各取所需.html">
            
                <a href="被解放的姜戈04 各取所需.html">
            
                    
                    被解放的姜戈04 各取所需
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="7.1.4.1" data-path="被解放的姜戈04 各取所需.html">
            
                <a href="被解放的姜戈04 各取所需.html#html表格">
            
                    
                    html表格
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.4.2" data-path="被解放的姜戈04 各取所需.html">
            
                <a href="被解放的姜戈04 各取所需.html#post方法">
            
                    
                    POST方法
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.4.3" data-path="被解放的姜戈04 各取所需.html">
            
                <a href="被解放的姜戈04 各取所需.html#存储数据">
            
                    
                    存储数据
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.4.4" data-path="被解放的姜戈04 各取所需.html">
            
                <a href="被解放的姜戈04 各取所需.html#表格对象">
            
                    
                    表格对象
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.4.5" data-path="被解放的姜戈04 各取所需.html">
            
                <a href="被解放的姜戈04 各取所需.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="7.1.5" data-path="被解放的姜戈05 黑面管家.html">
            
                <a href="被解放的姜戈05 黑面管家.html">
            
                    
                    被解放的姜戈05 黑面管家
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="7.1.5.1" data-path="被解放的姜戈05 黑面管家.html">
            
                <a href="被解放的姜戈05 黑面管家.html#默认界面">
            
                    
                    默认界面
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.5.2" data-path="被解放的姜戈05 黑面管家.html">
            
                <a href="被解放的姜戈05 黑面管家.html#复杂模型">
            
                    
                    复杂模型
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.5.3" data-path="被解放的姜戈05 黑面管家.html">
            
                <a href="被解放的姜戈05 黑面管家.html#自定义页面">
            
                    
                    自定义页面
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.5.4" data-path="被解放的姜戈05 黑面管家.html">
            
                <a href="被解放的姜戈05 黑面管家.html#inline显示">
            
                    
                    Inline显示
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.5.5" data-path="被解放的姜戈05 黑面管家.html">
            
                <a href="被解放的姜戈05 黑面管家.html#列表页的显示">
            
                    
                    列表页的显示
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.5.6" data-path="被解放的姜戈05 黑面管家.html">
            
                <a href="被解放的姜戈05 黑面管家.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter active" data-level="7.1.6" data-path="被解放的姜戈06 假作真时.html">
            
                <a href="被解放的姜戈06 假作真时.html">
            
                    
                    被解放的姜戈06 假作真时
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="7.1.6.1" data-path="被解放的姜戈06 假作真时.html">
            
                <a href="被解放的姜戈06 假作真时.html#创建用户">
            
                    
                    创建用户
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.6.2" data-path="被解放的姜戈06 假作真时.html">
            
                <a href="被解放的姜戈06 假作真时.html#用户登录">
            
                    
                    用户登录
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.6.3" data-path="被解放的姜戈06 假作真时.html">
            
                <a href="被解放的姜戈06 假作真时.html#登出">
            
                    
                    登出
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.6.4" data-path="被解放的姜戈06 假作真时.html">
            
                <a href="被解放的姜戈06 假作真时.html#viewspy中的用户">
            
                    
                    views.py中的用户
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.6.5" data-path="被解放的姜戈06 假作真时.html">
            
                <a href="被解放的姜戈06 假作真时.html#模板中的用户">
            
                    
                    模板中的用户
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.6.6" data-path="被解放的姜戈06 假作真时.html">
            
                <a href="被解放的姜戈06 假作真时.html#用户注册">
            
                    
                    用户注册
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.6.7" data-path="被解放的姜戈06 假作真时.html">
            
                <a href="被解放的姜戈06 假作真时.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="7.1.7" data-path="被解放的姜戈07 马不停蹄.html">
            
                <a href="被解放的姜戈07 马不停蹄.html">
            
                    
                    被解放的姜戈07 马不停蹄
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="7.1.7.1" data-path="被解放的姜戈07 马不停蹄.html">
            
                <a href="被解放的姜戈07 马不停蹄.html#安装">
            
                    
                    安装
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.7.2" data-path="被解放的姜戈07 马不停蹄.html">
            
                <a href="被解放的姜戈07 马不停蹄.html#静态文件">
            
                    
                    静态文件
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.7.3" data-path="被解放的姜戈07 马不停蹄.html">
            
                <a href="被解放的姜戈07 马不停蹄.html#其它">
            
                    
                    其它
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.7.4" data-path="被解放的姜戈07 马不停蹄.html">
            
                <a href="被解放的姜戈07 马不停蹄.html#总结">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="7.1.8" data-path="被解放的姜戈08 远走高飞.html">
            
                <a href="被解放的姜戈08 远走高飞.html">
            
                    
                    被解放的姜戈08 远走高飞
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="7.1.8.1" data-path="被解放的姜戈08 远走高飞.html">
            
                <a href="被解放的姜戈08 远走高飞.html#阿里云准备">
            
                    
                    阿里云准备
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.8.2" data-path="被解放的姜戈08 远走高飞.html">
            
                <a href="被解放的姜戈08 远走高飞.html#安装django">
            
                    
                    安装Django
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.8.3" data-path="被解放的姜戈08 远走高飞.html">
            
                <a href="被解放的姜戈08 远走高飞.html#安装数据库和http服务器">
            
                    
                    安装数据库和HTTP服务器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.8.4" data-path="被解放的姜戈08 远走高飞.html">
            
                <a href="被解放的姜戈08 远走高飞.html#运行django服务器">
            
                    
                    运行Django服务器
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="7.2" data-path="尾声.html">
            
                <a href="尾声.html">
            
                    
                    快速教程 尾声
            
                </a>
            

            
        </li>
    

    

    <li class="divider"></li>

    <li>
        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
            本书使用 GitBook 发布
        </a>
    </li>
</ul>


                </nav>
            
        
    </div>

    <div class="book-body">
        
            <div class="body-inner">
                
                    

<div class="book-header" role="navigation">
    

    <!-- Title -->
    <h1>
        <i class="fa fa-circle-o-notch fa-spin"></i>
        <a href="." >被解放的姜戈06 假作真时</a>
    </h1>
</div>




                    <div class="page-wrapper" tabindex="-1" role="main">
                        <div class="page-inner">
                            
<div id="book-search-results">
    <div class="search-noresults">
    
                                <section class="normal markdown-section">
                                
                                <h1 id="&#x88AB;&#x89E3;&#x653E;&#x7684;&#x59DC;&#x6208;06-&#x5047;&#x4F5C;&#x771F;&#x65F6;">&#x88AB;&#x89E3;&#x653E;&#x7684;&#x59DC;&#x6208;06 &#x5047;&#x4F5C;&#x771F;&#x65F6;</h1>
<p>&#x4E4B;&#x524D;&#x4E86;&#x89E3;&#x4E86;&#xFF1A;</p>
<ul>
<li>&#x521B;&#x5EFA;Django&#x9879;&#x76EE;</li>
<li>&#x6570;&#x636E;&#x5E93;</li>
<li>&#x6A21;&#x677F;</li>
<li>&#x8868;&#x683C;&#x63D0;&#x4EA4;</li>
<li>admin&#x7BA1;&#x7406;&#x9875;&#x9762;</li>
</ul>
<p>&#x4E0A;&#x9762;&#x7684;&#x529F;&#x80FD;&#x6A21;&#x5757;&#x5141;&#x8BB8;&#x6211;&#x4EEC;&#x505A;&#x51FA;&#x4E00;&#x4E2A;&#x5177;&#x6709;&#x4E92;&#x52A8;&#x6027;&#x7684;&#x7AD9;&#x70B9;&#xFF0C;&#x4F46;&#x65E0;&#x6CD5;&#x9A8C;&#x8BC1;&#x7528;&#x6237;&#x7684;&#x8EAB;&#x4EFD;&#x3002;&#x6211;&#x4EEC;&#x8FD9;&#x6B21;&#x4E86;&#x89E3;&#x7528;&#x6237;&#x9A8C;&#x8BC1;&#x90E8;&#x5206;&#x3002;&#x901A;&#x8FC7;&#x7528;&#x6237;&#x9A8C;&#x8BC1;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x6839;&#x636E;&#x7528;&#x6237;&#x7684;&#x8EAB;&#x4EFD;&#xFF0C;&#x63D0;&#x4F9B;&#x4E0D;&#x540C;&#x7684;&#x670D;&#x52A1;&#x3002;</p>
<p>&#x4E00;&#x4E2A;Web&#x5E94;&#x7528;&#x7684;&#x7528;&#x6237;&#x9A8C;&#x8BC1;&#x662F;&#x5B83;&#x7684;&#x57FA;&#x672C;&#x7EC4;&#x6210;&#x90E8;&#x5206;&#x3002;&#x6211;&#x4EEC;&#x5728;&#x4F7F;&#x7528;&#x4E00;&#x4E2A;&#x5E94;&#x7528;&#x65F6;&#xFF0C;&#x603B;&#x662F;&#x4ECE;&#x201C;&#x767B;&#x5F55;&#x201D;&#x5F00;&#x59CB;&#xFF0C;&#x5230;&#x201C;&#x767B;&#x51FA;&#x201D;&#x7ED3;&#x675F;&#x3002;&#x53E6;&#x4E00;&#x65B9;&#x9762;&#xFF0C;&#x7528;&#x6237;&#x9A8C;&#x8BC1;&#x53C8;&#x548C;&#x7F51;&#x7AD9;&#x5B89;&#x5168;&#x3001;&#x6570;&#x636E;&#x5E93;&#x5B89;&#x5168;&#x606F;&#x606F;&#x76F8;&#x5173;&#x3002;HTTP&#x534F;&#x8BAE;&#x662F;&#x65E0;&#x72B6;&#x6001;&#x7684;&#xFF0C;&#x4F46;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x5229;&#x7528;&#x50A8;&#x5B58;&#x5728;&#x5BA2;&#x6237;&#x7AEF;&#x7684;cookie&#x6216;&#x8005;&#x50A8;&#x5B58;&#x5728;&#x670D;&#x52A1;&#x5668;&#x7684;session&#x6765;&#x8BB0;&#x5F55;&#x7528;&#x6237;&#x7684;&#x8BBF;&#x95EE;&#x3002; </p>
<p>Django&#x6709;&#x7BA1;&#x7406;&#x7528;&#x6237;&#x7684;&#x6A21;&#x5757;&#xFF0C;&#x5373;django.contrib.auth&#x3002;&#x4F60;&#x53EF;&#x4EE5;&#x5728;mysite/settings.py&#x91CC;&#x770B;&#x5230;&#xFF0C;&#x8FD9;&#x4E2A;&#x529F;&#x80FD;&#x6A21;&#x5757;&#x5DF2;&#x7ECF;&#x6CE8;&#x518C;&#x5728;INSTALLED_APPS&#x4E2D;&#x3002;&#x5229;&#x7528;&#x8BE5;&#x6A21;&#x5757;&#xFF0C;&#x4F60;&#x53EF;&#x4EE5;&#x76F4;&#x63A5;&#x5728;&#x903B;&#x8F91;&#x5C42;&#x9762;&#x7BA1;&#x7406;&#x7528;&#x6237;&#xFF0C;&#x4E0D;&#x9700;&#x8981;&#x4E3A;&#x7528;&#x6237;&#x5EFA;&#x7ACB;&#x6A21;&#x578B;&#xFF0C;&#x4E5F;&#x4E0D;&#x9700;&#x8981;&#x624B;&#x5DE5;&#x53BB;&#x5B9E;&#x73B0;&#x4F1A;&#x8BDD;&#x3002;</p>
<p><strong>&#x201C;&#x4E3A;&#x4E86;&#x6551;&#x4F60;&#x7684;&#x7231;&#x4EBA;&#x51FA;&#x6765;&#xFF0C;&#x6211;&#x4EEC;&#x8981;&#x6F14;&#x4E00;&#x573A;&#x620F;&#x3002;&#x201D;</strong></p>
<h2 id="&#x521B;&#x5EFA;&#x7528;&#x6237;">&#x521B;&#x5EFA;&#x7528;&#x6237;</h2>
<p>&#x4F60;&#x53EF;&#x4EE5;&#x5728;admin&#x9875;&#x9762;&#x76F4;&#x63A5;&#x770B;&#x5230;&#x7528;&#x6237;&#x7BA1;&#x7406;&#x7684;&#x5BF9;&#x8BDD;&#x6846;&#xFF0C;&#x5373;Users&#x3002;&#x4ECE;&#x8FD9;&#x91CC;&#xFF0C;&#x4F60;&#x53EF;&#x4EE5;&#x5728;&#x8FD9;&#x91CC;&#x521B;&#x5EFA;&#x3001;&#x5220;&#x9664;&#x548C;&#x4FEE;&#x6539;&#x7528;&#x6237;&#x3002;&#x70B9;&#x51FB;Add&#x589E;&#x52A0;&#x7528;&#x6237;daddy&#xFF0C;&#x5BC6;&#x7801;&#x4E3A;daddyiscool&#x3002;</p>
<p><img src="031902505868405.png" alt=""></p>
<p>&#x5728;admin&#x9875;&#x9762;&#x4E0B;&#xFF0C;&#x6211;&#x4EEC;&#x8FD8;&#x53EF;&#x4EE5;&#x63A7;&#x5236;&#x4E0D;&#x540C;&#x7528;&#x6237;&#x7EC4;&#x5BF9;&#x6570;&#x636E;&#x5E93;&#x7684;&#x8BBF;&#x95EE;&#x6743;&#x9650;&#x3002;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x5728;Groups&#x4E2D;&#x589E;&#x52A0;&#x7528;&#x6237;&#x7EC4;&#xFF0C;&#x8BBE;&#x7F6E;&#x7528;&#x6237;&#x7EC4;&#x5BF9;&#x6570;&#x636E;&#x5E93;&#x7684;&#x8BBF;&#x95EE;&#x6743;&#x9650;&#xFF0C;&#x5E76;&#x5C06;&#x7528;&#x6237;&#x52A0;&#x5165;&#x5230;&#x67D0;&#x4E2A;&#x7528;&#x6237;&#x7EC4;&#x4E2D;&#x3002;</p>
<p>&#x5728;&#x8FD9;&#x4E00;&#x7AE0;&#x8282;&#x4E2D;&#xFF0C;&#x6211;&#x4EEC;&#x521B;&#x7ACB;&#x4E00;&#x4E2A;&#x65B0;&#x7684;app&#xFF0C;&#x5373;users&#x3002;&#x4E0B;&#x6587;&#x7684;&#x6A21;&#x677F;&#x548C;views.py&#xFF0C;&#x90FD;&#x9488;&#x5BF9;&#x8BE5;app&#x3002;</p>
<p><strong>&quot;&#x4F60;&#x8FD9;&#x5957;&#x65B0;&#x8863;&#x670D;&#xFF0C;&#x8FD8;&#x771F;&#x50CF;&#x90A3;&#x4E48;&#x56DE;&#x4E8B;&quot;&#xFF0C;&#x5FB7;&#x56FD;&#x4EBA;&#x8BF4;&#x3002;</strong></p>
<h2 id="&#x7528;&#x6237;&#x767B;&#x5F55;">&#x7528;&#x6237;&#x767B;&#x5F55;</h2>
<p>&#x6211;&#x4EEC;&#x5EFA;&#x7ACB;&#x4E00;&#x4E2A;&#x7B80;&#x5355;&#x7684;&#x8868;&#x683C;&#x3002;&#x7528;&#x6237;&#x901A;&#x8FC7;&#x8BE5;&#x8868;&#x683C;&#x6765;&#x63D0;&#x4EA4;&#x767B;&#x9646;&#x4FE1;&#x606F;&#xFF0C;&#x5E76;&#x5728;Django&#x670D;&#x52A1;&#x5668;&#x4E0A;&#x9A8C;&#x8BC1;&#x3002;&#x5982;&#x679C;&#x7528;&#x6237;&#x540D;&#x548C;&#x5BC6;&#x7801;&#x6B63;&#x786E;&#xFF0C;&#x90A3;&#x4E48;&#x767B;&#x5165;&#x7528;&#x6237;&#x3002;</p>
<p>&#x6211;&#x4EEC;&#x9996;&#x5148;&#x589E;&#x52A0;&#x4E00;&#x4E2A;&#x767B;&#x5F55;&#x8868;&#x683C;&#xFF1A;</p>
<pre><code class="lang-html"><span class="hljs-tag">&lt;<span class="hljs-name">form</span> <span class="hljs-attr">role</span>=<span class="hljs-string">&quot;form&quot;</span> <span class="hljs-attr">action</span>=<span class="hljs-string">&quot;/login&quot;</span> <span class="hljs-attr">method</span>=<span class="hljs-string">&quot;post&quot;</span>&gt;</span>
      <span class="hljs-tag">&lt;<span class="hljs-name">label</span>&gt;</span>Username<span class="hljs-tag">&lt;/<span class="hljs-name">label</span>&gt;</span>
      <span class="hljs-tag">&lt;<span class="hljs-name">input</span> <span class="hljs-attr">type</span>=<span class="hljs-string">&quot;text&quot;</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&apos;username&apos;</span>&gt;</span>
      <span class="hljs-tag">&lt;<span class="hljs-name">label</span>&gt;</span>Password<span class="hljs-tag">&lt;/<span class="hljs-name">label</span>&gt;</span>
      <span class="hljs-tag">&lt;<span class="hljs-name">input</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;password&quot;</span> <span class="hljs-attr">type</span>=<span class="hljs-string">&quot;password&quot;</span>&gt;</span>
      <span class="hljs-tag">&lt;<span class="hljs-name">input</span> <span class="hljs-attr">type</span>=<span class="hljs-string">&quot;submit&quot;</span> <span class="hljs-attr">value</span>=<span class="hljs-string">&quot;Submit&quot;</span>&gt;</span>
 <span class="hljs-tag">&lt;/<span class="hljs-name">form</span>&gt;</span>
</code></pre>
<p>&#x6211;&#x4EEC;&#x5728;views.py&#x4E2D;&#xFF0C;&#x5B9A;&#x4E49;&#x5904;&#x7406;&#x51FD;&#x6570;user_login()&#xFF0C;&#x6765;&#x767B;&#x5165;&#x7528;&#x6237;&#xFF1A;</p>
<pre><code class="lang-python"><span class="hljs-comment"># -*- coding: utf-8 -*-</span>
<span class="hljs-keyword">from</span> django.shortcuts <span class="hljs-keyword">import</span> render, redirect
<span class="hljs-keyword">from</span> django.core.context_processors <span class="hljs-keyword">import</span> csrf
<span class="hljs-keyword">from</span> django.contrib.auth <span class="hljs-keyword">import</span> *

<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">user_login</span><span class="hljs-params">(request)</span>:</span>
    <span class="hljs-string">&apos;&apos;&apos;
    login
    &apos;&apos;&apos;</span>
    <span class="hljs-keyword">if</span> request.POST:
        username = password = <span class="hljs-string">&apos;&apos;</span>
        username = request.POST.get(<span class="hljs-string">&apos;username&apos;</span>)
        password = request.POST.get(<span class="hljs-string">&apos;password&apos;</span>)
        user     = authenticate(username=username, password=password)
        <span class="hljs-keyword">if</span> user <span class="hljs-keyword">is</span> <span class="hljs-keyword">not</span> <span class="hljs-keyword">None</span> <span class="hljs-keyword">and</span> user.is_active:
                login(request, user)
                <span class="hljs-keyword">return</span> redirect(<span class="hljs-string">&apos;/&apos;</span>)
    ctx = {}
    ctx.update(csrf(request))
    <span class="hljs-keyword">return</span> render(request, <span class="hljs-string">&apos;login.html&apos;</span>,ctx)
</code></pre>
<p>&#x4E0A;&#x9762;&#x7684;authenticate()&#x51FD;&#x6570;&#xFF0C;&#x53EF;&#x4EE5;&#x6839;&#x636E;&#x7528;&#x6237;&#x540D;&#x548C;&#x5BC6;&#x7801;&#xFF0C;&#x9A8C;&#x8BC1;&#x7528;&#x6237;&#x4FE1;&#x606F;&#x3002;&#x800C;login()&#x51FD;&#x6570;&#x5219;&#x5C06;&#x7528;&#x6237;&#x767B;&#x5165;&#x3002;&#x5B83;&#x4EEC;&#x6765;&#x81EA;&#x4E8E;django.contrib.auth&#x3002;</p>
<p>&#x4F5C;&#x4E3A;&#x66FF;&#x6362;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;&#x7279;&#x522B;&#x7684;form&#x5BF9;&#x8C61;&#xFF0C;&#x800C;&#x4E0D;&#x81EA;&#x884C;&#x5B9A;&#x4E49;&#x8868;&#x683C;&#x3002;&#x8FD9;&#x5C06;&#x8BA9;&#x4EE3;&#x7801;&#x66F4;&#x7B80;&#x5355;&#xFF0C;&#x800C;&#x4E14;&#x63D0;&#x4F9B;&#x4E00;&#x5B9A;&#x7684;&#x5B8C;&#x6574;&#x6027;&#x68C0;&#x9A8C;&#x3002;</p>
<p>&#x7EC3;&#x4E60;. &#x4F7F;&#x7528;contrib.auth.forms.AuthenticationForm&#x3002;&#x6765;&#x7B80;&#x5316;&#x4E0A;&#x9762;&#x7684;&#x6A21;&#x677F;&#x548C;&#x5904;&#x7406;&#x51FD;&#x6570;&#x3002;</p>
<p><strong>&#x5FB7;&#x56FD;&#x4EBA;&#x8FD8;&#x662F;&#x4E0D;&#x5FD8;&#x4E00;&#x518D;&#x53EE;&#x5631;&#xFF0C;&quot;&#x8BB0;&#x4F4F;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4E0D;&#x662F;&#x4EC0;&#x4E48;&#x8D4F;&#x91D1;&#x730E;&#x4EBA;&#x3002;&quot;</strong></p>
<h2 id="&#x767B;&#x51FA;">&#x767B;&#x51FA;</h2>
<p>&#x6709;&#x65F6;&#x7528;&#x6237;&#x5E0C;&#x671B;&#x80FD;&#x9500;&#x6BC1;&#x4F1A;&#x8BDD;&#x3002;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x63D0;&#x4F9B;&#x4E00;&#x4E2A;&#x767B;&#x51FA;&#x7684;URL&#xFF0C;&#x5373;/users/logout&#x3002;&#x767B;&#x5165;&#x7528;&#x6237;&#x8BBF;&#x95EE;&#x8BE5;URL&#xFF0C;&#x5373;&#x53EF;&#x767B;&#x51FA;&#x3002;&#x5728;views.py&#x4E2D;&#xFF0C;&#x589E;&#x52A0;&#x8BE5;URL&#x7684;&#x5904;&#x7406;&#x51FD;&#x6570;&#xFF1A;</p>
<pre><code class="lang-python"><span class="hljs-comment"># -*- coding: utf-8 -*-</span>
<span class="hljs-keyword">from</span> django.shortcuts <span class="hljs-keyword">import</span> redirect

<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">user_logout</span><span class="hljs-params">(request)</span>:</span>
    <span class="hljs-string">&apos;&apos;&apos;
    logout
    URL: /users/logout
    &apos;&apos;&apos;</span>
    logout(request)
    <span class="hljs-keyword">return</span> redirect(<span class="hljs-string">&apos;/&apos;</span>)
</code></pre>
<p>&#x6211;&#x4EEC;&#x4FEE;&#x6539;urls.py&#xFF0C;&#x8BA9;url&#x5BF9;&#x5E94;user_logout()&#x3002;&#x8BBF;&#x95EE;<code>http://127.0.0.1/users/logout</code>&#xFF0C;&#x5C31;&#x53EF;&#x4EE5;&#x767B;&#x51FA;&#x7528;&#x6237;&#x3002;</p>
<p><strong>&#x5FB7;&#x56FD;&#x4EBA;&#x538B;&#x4F4E;&#x58F0;&#x97F3;&#xFF0C;&#x201C;&#x54E6;&#xFF0C;&#x6211;&#x662F;&#x6765;&#x6551;&#x4F60;&#x7684;&#xFF0C;&#x6211;&#x4EEC;&#x8981;&#x6F14;&#x4E00;&#x51FA;&#x620F;&#x3002;&#x201D;</strong></p>
<h2 id="viewspy&#x4E2D;&#x7684;&#x7528;&#x6237;">views.py&#x4E2D;&#x7684;&#x7528;&#x6237;</h2>
<p>&#x4E0A;&#x9762;&#x8BF4;&#x660E;&#x4E86;&#x5982;&#x4F55;&#x767B;&#x5165;&#x548C;&#x767B;&#x51FA;&#x7528;&#x6237;&#xFF0C;&#x4F46;&#x8FD8;&#x6CA1;&#x6709;&#x771F;&#x6B63;&#x5F00;&#x59CB;&#x4EAB;&#x53D7;&#x7528;&#x6237;&#x9A8C;&#x8BC1;&#x5E26;&#x6765;&#x7684;&#x597D;&#x5904;&#x3002;&#x7528;&#x6237;&#x767B;&#x9646;&#x7684;&#x6700;&#x7EC8;&#x76EE;&#x7684;&#xFF0C;&#x5C31;&#x662F;&#x4E3A;&#x4E86;&#x8BA9;&#x670D;&#x52A1;&#x5668;&#x53EF;&#x4EE5;&#x533A;&#x522B;&#x5BF9;&#x5F85;&#x4E0D;&#x540C;&#x7684;&#x7528;&#x6237;&#x3002;&#x6BD4;&#x5982;&#x8BF4;&#xFF0C;&#x6709;&#x4E9B;&#x5185;&#x5BB9;&#x53EA;&#x80FD;&#x8BA9;&#x767B;&#x9646;&#x7528;&#x6237;&#x770B;&#x5230;&#xFF0C;&#x6709;&#x4E9B;&#x5185;&#x5BB9;&#x5219;&#x53EA;&#x80FD;&#x8BA9;&#x7279;&#x5B9A;&#x767B;&#x9646;&#x7528;&#x6237;&#x770B;&#x5230;&#x3002;&#x6211;&#x4EEC;&#x4E0B;&#x9762;&#x5C06;&#x63A2;&#x7D22;&#x5982;&#x4F55;&#x5B9E;&#x73B0;&#x8FD9;&#x4E9B;&#x6548;&#x679C;&#x3002;</p>
<p>&#x5728;Django&#x4E2D;&#xFF0C;&#x5BF9;&#x7528;&#x6237;&#x8EAB;&#x4EFD;&#x7684;&#x68C0;&#x9A8C;&#xFF0C;&#x4E3B;&#x8981;&#x662F;&#x5728;views.py&#x4E2D;&#x8FDB;&#x884C;&#x3002;views.py&#x662F;&#x8FDE;&#x63A5;&#x6A21;&#x578B;&#x548C;&#x89C6;&#x56FE;&#x7684;&#x4E2D;&#x95F4;&#x5C42;&#x3002;HTTP&#x8BF7;&#x6C42;&#x4F1A;&#x8F6C;&#x7ED9;views.py&#x4E2D;&#x7684;&#x5BF9;&#x5E94;&#x5904;&#x7406;&#x51FD;&#x6570;&#x5904;&#x7406;&#xFF0C;&#x5E76;&#x53D1;&#x56DE;&#x56DE;&#x590D;&#x3002;&#x5728;views.py&#x7684;&#x67D0;&#x4E2A;&#x5904;&#x7406;&#x51FD;&#x6570;&#x51C6;&#x5907;HTTP&#x56DE;&#x590D;&#x7684;&#x8FC7;&#x7A0B;&#x4E2D;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x68C0;&#x9A8C;&#x7528;&#x6237;&#x662F;&#x5426;&#x767B;&#x9646;&#x3002;&#x6839;&#x636E;&#x7528;&#x6237;&#x662F;&#x5426;&#x767B;&#x9646;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x7ED9;&#x51FA;&#x4E0D;&#x540C;&#x7684;&#x56DE;&#x590D;&#x3002;&#x6700;&#x539F;&#x59CB;&#x7684;&#x65B9;&#x5F0F;&#xFF0C;&#x662F;&#x4F7F;&#x7528;if&#x5F0F;&#x7684;&#x9009;&#x62E9;&#x7ED3;&#x6784;&#xFF1A; </p>
<pre><code class="lang-python"><span class="hljs-comment"># -*- coding: utf-8 -*-</span>
<span class="hljs-keyword">from</span> django.http <span class="hljs-keyword">import</span> HttpResponse

<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">diff_response</span><span class="hljs-params">(request)</span>:</span>
    <span class="hljs-keyword">if</span> request.user.is_authenticated():
        content = <span class="hljs-string">&quot;&lt;p&gt;my dear user&lt;/p&gt;&quot;</span>
    <span class="hljs-keyword">else</span>:
        content = <span class="hljs-string">&quot;&lt;p&gt;you wired stranger&lt;/p&gt;&quot;</span>
    <span class="hljs-keyword">return</span> HttpResponse(content)
</code></pre>
<p>&#x53EF;&#x4EE5;&#x770B;&#x5230;&#xFF0C;&#x7528;&#x6237;&#x7684;&#x767B;&#x5F55;&#x4FE1;&#x606F;&#x5305;&#x542B;&#x5728;request.user&#x4E2D;&#xFF0C;is_authenticated()&#x65B9;&#x6CD5;&#x7528;&#x4E8E;&#x5224;&#x65AD;&#x7528;&#x6237;&#x662F;&#x5426;&#x767B;&#x5F55;&#xFF0C;&#x5982;&#x679C;&#x7528;&#x6237;&#x6CA1;&#x6709;&#x767B;&#x5F55;&#xFF0C;&#x90A3;&#x4E48;&#x8BE5;&#x65B9;&#x6CD5;&#x5C06;&#x8FD4;&#x56DE;false&#x3002;&#x8BE5;user&#x5BF9;&#x8C61;&#x5C5E;&#x4E8E;contrib.auth.user&#x7C7B;&#x578B;&#xFF0C;&#x8FD8;&#x6709;&#x5176;&#x5B83;&#x5C5E;&#x6027;&#x53EF;&#x4F9B;&#x4F7F;&#x7528;&#xFF0C;&#x6BD4;&#x5982;</p>
<table>
<thead>
<tr>
<th>&#x5C5E;&#x6027;</th>
<th>&#x529F;&#x80FD;</th>
</tr>
</thead>
<tbody>
<tr>
<td>get_username()</td>
<td>&#x8FD4;&#x56DE;&#x7528;&#x6237;&#x540D;</td>
</tr>
<tr>
<td>set_password()</td>
<td>&#x8BBE;&#x7F6E;&#x5BC6;&#x7801;</td>
</tr>
<tr>
<td>get_fullname()</td>
<td>&#x8FD4;&#x56DE;&#x59D3;&#x540D;</td>
</tr>
<tr>
<td>last_login</td>
<td>&#x4E0A;&#x6B21;&#x767B;&#x5F55;&#x65F6;&#x95F4;</td>
</tr>
<tr>
<td>date_joined</td>
<td>&#x8D26;&#x6237;&#x521B;&#x5EFA;&#x65F6;&#x95F4;</td>
</tr>
</tbody>
</table>
<p>&#x7EC3;&#x4E60;. &#x5B9E;&#x9A8C;&#x4E0A;&#x9762;&#x7684;&#x5904;&#x7406;&#x51FD;&#x6570;&#x7684;&#x6548;&#x679C;&#x3002;</p>
<p>&#x5728;Django&#x4E2D;&#xFF0C;&#x6211;&#x4EEC;&#x8FD8;&#x53EF;&#x4EE5;&#x5229;&#x7528;&#x88C5;&#x9970;&#x5668;&#xFF0C;&#x6839;&#x636E;&#x7528;&#x6237;&#x7684;&#x767B;&#x5F55;&#x72B6;&#x51B5;&#xFF0C;&#x6765;&#x51B3;&#x5B9A;views.py&#x4E2D;&#x5904;&#x7406;&#x51FD;&#x6570;&#x7684;&#x663E;&#x793A;&#x6548;&#x679C;&#x3002;&#x76F8;&#x5BF9;&#x4E8E;&#x4E0A;&#x9762;&#x7684;if&#x7ED3;&#x6784;&#xFF0C;&#x88C5;&#x9970;&#x5668;&#x4F7F;&#x7528;&#x8D77;&#x6765;&#x66F4;&#x52A0;&#x65B9;&#x4FBF;&#x3002;&#x4E0B;&#x9762;&#x7684;user_only()&#x662F;views.py&#x4E2D;&#x7684;&#x4E00;&#x4E2A;&#x5904;&#x7406;&#x51FD;&#x6570;&#x3002;</p>
<pre><code class="lang-html">from django.contrib.auth.decorators import login_required
from django.http import HttpResponse

@login_required
def user_only(request):
    return HttpResponse(&quot;<span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>This message is for logged in user only.<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>&quot;)
</code></pre>
<p>&#x6CE8;&#x610F;&#x4E0A;&#x9762;&#x7684;&#x88C5;&#x9970;&#x5668;login_required&#xFF0C;&#x5B83;&#x662F;Django&#x9884;&#x8BBE;&#x7684;&#x88C5;&#x9970;&#x5668;&#x3002;user_only()&#x7684;&#x56DE;&#x590D;&#x7ED3;&#x679C;&#x53EA;&#x80FD;&#x88AB;&#x767B;&#x5F55;&#x7528;&#x6237;&#x770B;&#x5230;&#xFF0C;&#x800C;&#x672A;&#x767B;&#x5F55;&#x7528;&#x6237;&#x5C06;&#x88AB;&#x5F15;&#x5BFC;&#x5230;&#x5176;&#x4ED6;&#x9875;&#x9762;&#x3002;</p>
<p>Django&#x4E2D;&#x8FD8;&#x6709;&#x5176;&#x5B83;&#x7684;&#x88C5;&#x9970;&#x5668;&#xFF0C;&#x7528;&#x4E8E;&#x4FEE;&#x9970;&#x5904;&#x7406;&#x51FD;&#x6570;&#x3002;&#x76F8;&#x5E94;&#x7684;http&#x56DE;&#x590D;&#xFF0C;&#x53EA;&#x80FD;&#x88AB;&#x7279;&#x6B8A;&#x7684;&#x7528;&#x6237;&#x770B;&#x5230;&#x3002;&#x6BD4;&#x5982;user_passes_test&#xFF0C;&#x5141;&#x8BB8;&#x7684;&#x7528;&#x6237;&#x5FC5;&#x987B;&#x6EE1;&#x8DB3;&#x7279;&#x5B9A;&#x6807;&#x51C6;&#xFF0C;&#x800C;&#x8FD9;&#x4E00;&#x6807;&#x51C6;&#x662F;&#x53EF;&#x4EE5;&#x7528;&#x6237;&#x81EA;&#x5B9A;&#x4E49;&#x7684;&#x3002;&#x6BD4;&#x5982;&#x4E0B;&#x9762;&#xFF0C;&#x5728;views.py&#x4E2D;&#x589E;&#x6DFB;&#xFF1A; </p>
<pre><code class="lang-python"><span class="hljs-keyword">from</span> django.contrib.auth.decorators <span class="hljs-keyword">import</span> user_passes_test
<span class="hljs-keyword">from</span> django.http <span class="hljs-keyword">import</span> HttpResponse
<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">name_check</span><span class="hljs-params">(user)</span>:</span>
    <span class="hljs-keyword">return</span> user.get_username() == <span class="hljs-string">&apos;vamei&apos;</span>

<span class="hljs-meta">@user_passes_test(name_check)</span>
<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">specific_user</span><span class="hljs-params">(request)</span>:</span>
    <span class="hljs-keyword">return</span> HttpResponse(<span class="hljs-string">&quot;&lt;p&gt;for Vamei only&lt;/p&gt;&quot;</span>)
</code></pre>
<p>&#x88C5;&#x9970;&#x5668;&#x5E26;&#x6709;&#x4E00;&#x4E2A;&#x53C2;&#x6570;&#xFF0C;&#x8BE5;&#x53C2;&#x6570;&#x662F;&#x4E00;&#x4E2A;&#x51FD;&#x6570;&#x5BF9;&#x8C61;name_check&#x3002;&#x5F53;name_check&#x8FD4;&#x56DE;&#x771F;&#x503C;&#xFF0C;&#x5373;&#x7528;&#x6237;&#x540D;&#x4E3A;vamei&#x65F6;&#xFF0C;specific_user&#x7684;&#x7ED3;&#x679C;&#x624D;&#x80FD;&#x88AB;&#x7528;&#x6237;&#x770B;&#x5230;&#x3002;</p>
<p><strong>&#x5FB7;&#x56FD;&#x4EBA;&#x7F9E;&#x6DA9;&#x7684;&#x7B11;&#x7B11;&#xFF0C;&#x201C;&#x6211;&#x786E;&#x5B9E;&#x5BF9;&#x5979;&#x6709;&#x90A3;&#x4E48;&#x70B9;&#x597D;&#x611F;&#x3002;&#x201D;</strong></p>
<h2 id="&#x6A21;&#x677F;&#x4E2D;&#x7684;&#x7528;&#x6237;">&#x6A21;&#x677F;&#x4E2D;&#x7684;&#x7528;&#x6237;</h2>
<p>&#x8FDB;&#x4E00;&#x6B65;&#xFF0C;&#x7528;&#x6237;&#x662F;&#x5426;&#x767B;&#x9646;&#x8FD9;&#x4E00;&#x4FE1;&#x606F;&#xFF0C;&#x4E5F;&#x53EF;&#x4EE5;&#x76F4;&#x63A5;&#x7528;&#x4E8E;&#x6A21;&#x677F;&#x3002;&#x6BD4;&#x8F83;&#x539F;&#x59CB;&#x7684;&#x65B9;&#x5F0F;&#x662F;&#x628A;&#x7528;&#x6237;&#x4FE1;&#x606F;&#x76F4;&#x63A5;&#x4F5C;&#x4E3A;&#x73AF;&#x5883;&#x6570;&#x636E;&#xFF0C;&#x63D0;&#x4EA4;&#x7ED9;&#x6A21;&#x677F;&#x3002;&#x7136;&#x800C;&#xFF0C;&#x8FD9;&#x5E76;&#x4E0D;&#x662F;&#x5FC5;&#x987B;&#x7684;&#x3002;&#x4E8B;&#x5B9E;&#x4E0A;&#xFF0C;Django&#x4E3A;&#x6B64;&#x63D0;&#x4F9B;&#x4E86;&#x6377;&#x5F84;&#xFF1A;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x76F4;&#x63A5;&#x5728;&#x6A21;&#x677F;&#x4E2D;&#x8C03;&#x7528;&#x7528;&#x6237;&#x4FE1;&#x606F;&#x3002;&#x6BD4;&#x5982;&#x4E0B;&#x9762;&#x7684;&#x6A21;&#x677F;&#xFF1A;</p>
<pre><code class="lang-html">{% if user.is_authenticated %}
  <span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>Welcome, my genuine user, my true love.<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
{% else %}
  <span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>Sorry, not login, you are not yet my sweetheart. <span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
{% endif %}
</code></pre>
<p>&#x4E0D;&#x9700;&#x8981;&#x73AF;&#x5883;&#x53D8;&#x91CF;&#x4E2D;&#x5B9A;&#x4E49;&#xFF0C;&#x6211;&#x4EEC;&#x5C31;&#x53EF;&#x4EE5;&#x76F4;&#x63A5;&#x5728;&#x6A21;&#x677F;&#x4E2D;&#x5F15;&#x7528;user&#x3002;&#x8FD9;&#x91CC;&#xFF0C;&#x6A21;&#x677F;&#x4E2D;&#x8C03;&#x7528;&#x4E86;user&#x7684;&#x4E00;&#x4E2A;&#x65B9;&#x6CD5;&#xFF0C;is_authenticated&#xFF0C;&#x5C06;&#x6839;&#x636E;&#x7528;&#x6237;&#x7684;&#x767B;&#x5F55;&#x60C5;&#x51B5;&#xFF0C;&#x8FD4;&#x56DE;&#x771F;&#x5047;&#x503C;&#x3002;&#x9700;&#x8981;&#x6CE8;&#x610F;&#xFF0C;&#x548C;&#x6B63;&#x5E38;&#x7684;Python&#x7A0B;&#x5E8F;&#x4E0D;&#x540C;&#xFF0C;&#x5728;Django&#x6A21;&#x677F;&#x4E2D;&#x8C03;&#x7528;&#x65B9;&#x6CD5;&#x5E76;&#x4E0D;&#x9700;&#x8981;&#x540E;&#x9762;&#x7684;&#x62EC;&#x53F7;&#x3002;</p>
<p>&#x7EC3;&#x4E60;. &#x589E;&#x52A0;&#x5904;&#x7406;&#x51FD;&#x6570;&#xFF0C;&#x663E;&#x793A;&#x8BE5;&#x6A21;&#x677F;&#xFF0C;&#x7136;&#x540E;&#x67E5;&#x770B;&#x4E0D;&#x540C;&#x767B;&#x5F55;&#x60C5;&#x51B5;&#x4E0B;&#x7684;&#x663E;&#x793A;&#x7ED3;&#x679C;&#x3002;</p>
<p><strong>&#x7BA1;&#x5BB6;&#x51B7;&#x4E0D;&#x4E01;&#x7684;&#x8BF4;&#xFF0C;&#x201C;&#x4F60;&#x8BA4;&#x8BC6;&#x4ED6;&#x4EEC;&#xFF1F;&#xFF01;&#x201D;</strong></p>
<h2 id="&#x7528;&#x6237;&#x6CE8;&#x518C;">&#x7528;&#x6237;&#x6CE8;&#x518C;</h2>
<p>&#x6211;&#x4EEC;&#x4E0A;&#x9762;&#x5229;&#x7528;&#x4E86;admin&#x7BA1;&#x7406;&#x9875;&#x9762;&#x6765;&#x589E;&#x52A0;&#x548C;&#x5220;&#x9664;&#x7528;&#x6237;&#x3002;&#x8FD9;&#x662F;&#x4E00;&#x79CD;&#x7B80;&#x4FBF;&#x7684;&#x65B9;&#x6CD5;&#xFF0C;&#x4F46;&#x5E76;&#x4E0D;&#x80FD;&#x7528;&#x4E8E;&#x4E00;&#x822C;&#x7684;&#x7528;&#x6237;&#x6CE8;&#x518C;&#x7684;&#x60C5;&#x5883;&#x3002;&#x6211;&#x4EEC;&#x9700;&#x8981;&#x63D0;&#x4F9B;&#x8BA9;&#x7528;&#x6237;&#x81EA;&#x4E3B;&#x6CE8;&#x518C;&#x7684;&#x529F;&#x80FD;&#x3002;&#x8FD9;&#x53EF;&#x4EE5;&#x8BA9;&#x7AD9;&#x5916;&#x7528;&#x6237;&#x63D0;&#x4EA4;&#x81EA;&#x5DF1;&#x7684;&#x4FE1;&#x606F;&#xFF0C;&#x751F;&#x6210;&#x81EA;&#x5DF1;&#x7684;&#x8D26;&#x6237;&#xFF0C;&#x5E76;&#x5F00;&#x59CB;&#x4F5C;&#x4E3A;&#x767B;&#x9646;&#x7528;&#x6237;&#x4F7F;&#x7528;&#x7F51;&#x7AD9;&#x3002;</p>
<p>&#x7528;&#x6237;&#x6CE8;&#x518C;&#x7684;&#x57FA;&#x672C;&#x539F;&#x7406;&#x975E;&#x5E38;&#x7B80;&#x5355;&#xFF0C;&#x5373;&#x5EFA;&#x7ACB;&#x4E00;&#x4E2A;&#x63D0;&#x4EA4;&#x7528;&#x6237;&#x4FE1;&#x606F;&#x7684;&#x8868;&#x683C;&#x3002;&#x8868;&#x683C;&#x4E2D;&#x81F3;&#x5C11;&#x5305;&#x62EC;&#x7528;&#x6237;&#x540D;&#x548C;&#x5BC6;&#x7801;&#x3002;&#x76F8;&#x5E94;&#x7684;&#x5904;&#x7406;&#x51FD;&#x6570;&#x63D0;&#x53D6;&#x5230;&#x8FD9;&#x4E9B;&#x4FE1;&#x606F;&#x540E;&#xFF0C;&#x5EFA;&#x7ACB;User&#x5BF9;&#x8C61;&#xFF0C;&#x5E76;&#x5B58;&#x5165;&#x5230;&#x6570;&#x636E;&#x5E93;&#x4E2D;&#x3002;</p>
<p>&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x5229;&#x7528;Django&#x4E2D;&#x7684;UserCreationForm&#xFF0C;&#x6BD4;&#x8F83;&#x7B80;&#x6D01;&#x7684;&#x751F;&#x6210;&#x8868;&#x683C;&#xFF0C;&#x5E76;&#x5728;views.py&#x4E2D;&#x5904;&#x7406;&#x8868;&#x683C;&#xFF1A;</p>
<pre><code class="lang-py"><span class="hljs-keyword">from</span> django.contrib.auth.forms <span class="hljs-keyword">import</span> UserCreationForm
<span class="hljs-keyword">from</span> django.shortcuts <span class="hljs-keyword">import</span> render, redirect
<span class="hljs-keyword">from</span> django.core.context_processors <span class="hljs-keyword">import</span> csrf

<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">register</span><span class="hljs-params">(request)</span>:</span> 
    <span class="hljs-keyword">if</span> request.method == <span class="hljs-string">&apos;POST&apos;</span>: 
        form = UserCreationForm(request.POST) 
        <span class="hljs-keyword">if</span> form.is_valid(): 
            new_user = form.save() 
        <span class="hljs-keyword">return</span> redirect(<span class="hljs-string">&quot;/&quot;</span>) 
    <span class="hljs-keyword">else</span>:
        form = UserCreationForm()
        ctx = {<span class="hljs-string">&apos;form&apos;</span>: form}
        ctx.update(csrf(request))       
        <span class="hljs-keyword">return</span> render(request, <span class="hljs-string">&quot;register.html&quot;</span>, ctx)
</code></pre>
<p>&#x76F8;&#x5E94;&#x7684;&#x6A21;&#x677F;register.html&#x5982;&#x4E0B;&#xFF1A;</p>
<pre><code class="lang-html"><span class="hljs-tag">&lt;<span class="hljs-name">form</span> <span class="hljs-attr">action</span>=<span class="hljs-string">&quot;&quot;</span> <span class="hljs-attr">method</span>=<span class="hljs-string">&quot;post&quot;</span>&gt;</span>
   {% csrf_token %}
   {{ form.as_p }}
   <span class="hljs-tag">&lt;<span class="hljs-name">input</span> <span class="hljs-attr">type</span>=<span class="hljs-string">&quot;submit&quot;</span> <span class="hljs-attr">value</span>=<span class="hljs-string">&quot;Register&quot;</span>&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-name">form</span>&gt;</span>
</code></pre>
<p><strong>&#x201C;&#x9A97;&#x5B50;&#xFF0C;&#x4F60;&#x4EEC;&#x8FD9;&#x4E9B;&#x9A97;&#x5B50;&#x201D;&#xFF0C;&#x5E84;&#x56ED;&#x4E3B;&#x6012;&#x543C;&#x7740;&#x3002;</strong></p>
<h2 id="&#x603B;&#x7ED3;">&#x603B;&#x7ED3;</h2>
<p>&#x6B63;&#x5982;&#x6211;&#x4EEC;&#x4E0A;&#x9762;&#x63D0;&#x5230;&#x7684;&#xFF0C;&#x7528;&#x6237;&#x767B;&#x9646;&#x7CFB;&#x7EDF;&#x7684;&#x6700;&#x5927;&#x529F;&#x80FD;&#x662F;&#x533A;&#x5206;&#x767B;&#x5165;&#x548C;&#x672A;&#x767B;&#x5165;&#x7528;&#x6237;&#xFF0C;&#x5411;&#x4ED6;&#x4EEC;&#x63D0;&#x4F9B;&#x4E0D;&#x540C;&#x7684;&#x5185;&#x5BB9;&#x548C;&#x670D;&#x52A1;&#x3002;</p>
<p>&#x6211;&#x4EEC;&#x770B;&#x5230;&#x4E86;&#x7528;&#x6237;&#x9A8C;&#x8BC1;&#x7684;&#x57FA;&#x672C;&#x6D41;&#x7A0B;&#xFF0C;&#x4E5F;&#x770B;&#x5230;&#x4E86;&#x5982;&#x4F55;&#x5728;views.py&#x548C;&#x6A21;&#x677F;&#x4E2D;&#x533A;&#x5206;&#x7528;&#x6237;&#x3002;</p>
<p><strong>&#x4E24;&#x6746;&#x67AA;&#xFF0C;&#x4E00;&#x652F;&#x6307;&#x7740;&#x5FB7;&#x56FD;&#x4EBA;&#xFF0C;&#x4E00;&#x652F;&#x6307;&#x7740;&#x59DC;&#x6208;&#x3002;</strong></p>

                                
                                </section>
                            
    </div>
    <div class="search-results">
        <div class="has-results">
            
            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
            <ul class="search-results-list"></ul>
            
        </div>
        <div class="no-results">
            
            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
            
        </div>
    </div>
</div>

                        </div>
                    </div>
                
            </div>

            
                
                <a href="被解放的姜戈05 黑面管家.html#总结" class="navigation navigation-prev " aria-label="Previous page: 总结">
                    <i class="fa fa-angle-left"></i>
                </a>
                
                
                <a href="被解放的姜戈06 假作真时.html#创建用户" class="navigation navigation-next " aria-label="Next page: 创建用户">
                    <i class="fa fa-angle-right"></i>
                </a>
                
            
        
    </div>

    <script>
        var gitbook = gitbook || [];
        gitbook.push(function() {
            gitbook.page.hasChanged({"page":{"title":"被解放的姜戈06 假作真时","level":"7.1.6","depth":2,"next":{"title":"创建用户","level":"7.1.6.1","depth":3,"anchor":"#创建用户","path":"被解放的姜戈06 假作真时.md","ref":"被解放的姜戈06 假作真时.md#创建用户","articles":[]},"previous":{"title":"总结","level":"7.1.5.6","depth":3,"anchor":"#总结","path":"被解放的姜戈05 黑面管家.md","ref":"被解放的姜戈05 黑面管家.md#总结","articles":[]},"dir":"ltr"},"config":{"plugins":["toggle-chapters","theme-comscore","livereload"],"root":"./content","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"livereload":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"fontsettings":{"theme":"white","family":"sans","size":2},"highlight":{},"theme-comscore":{},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"Python-Tutorial","language":"zh-hans","gitbook":"*","description":"A Quick Tutorial of Python"},"file":{"path":"被解放的姜戈06 假作真时.md","mtime":"2021-03-21T16:47:56.000Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2021-03-22T11:11:10.529Z"},"basePath":".","book":{"language":""}});
        });
    </script>
</div>

        
    <script src="gitbook/gitbook.js"></script>
    <script src="gitbook/theme.js"></script>
    
        
        <script src="gitbook/gitbook-plugin-toggle-chapters/toggle.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-livereload/plugin.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-search/search-engine.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-search/search.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-theme-comscore/test.js"></script>
        
    

    </body>
</html>

